"""8.7 类的特殊方法
__开头__结尾
一）类的特殊的方法
二）类的特殊的属性
"""
from chapter8 import person

# 一）类的特殊的方法
''' __str__,__len__,__init__'''
class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    # __str__用法:打印对象时自动调用
    def __str__(self):
        return f"Person(name={self.name},age={self.age})"
    def __len__(self):
        return len(self.name)
 #创建对象
p=Person("张三",25)
print(p)
print(len(p))

# 二、特殊的属性
'''__dict__,__class__'''
class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age

person1 = Person("张三",25)
print(person1.__dict__) #直接把对象的属性和值以字典的形式打印出来
print(person1.__class__) #打印对象的类名
